﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ETT;
using System.Data.Linq.SqlClient;

namespace DA
{
    public class nhanlichchuyenbayDA
    {
        DataClasses1DataContext htDataContext = new DataClasses1DataContext();

        //Đếm tất cả các phần tử có trong bảng
        public int CountListKH()
        {
            var query = (from a in htDataContext.chuyenbays orderby a.machuyenbay select a).Count();
            return query;
        }

        //Lấy danh sách tất cả các nhân viên 
        public IList<nhanlichchuyenbayETT> getListchuyenbayAll()
        {
            var query = (from a in htDataContext.chuyenbays
                         orderby a.machuyenbay descending

                         select new nhanlichchuyenbayETT
                         {
                             Machuyenbay = a.machuyenbay,
                             Ngaygio = a.ngaygio,
                             Thoigianbay = a.thoigianbay,
                             Soluongh1 = a.soluonggheh1,
                             Soluongh2 = a.soluonggheh2,
                             Sanbaydi = a.sanbaydi,
                             Sanbayden = a.sanbayden,
                             
                         }).Distinct<nhanlichchuyenbayETT>();

            return query.ToList<nhanlichchuyenbayETT>();
        }


        ////Lấy danh sách tất cả các nhân viên mỗi lần lấy 10 phần tử
        //public IList<nhanlichchuyenbayETT> getListchuyenbayLMAll(int c)
        //{
        //    var query = (from a in htDataContext.chuyenbays
        //                 orderby a.machuyenbay descending

        //                 select new nhanlichchuyenbayETT
        //                 {
        //                     Machuyenbay = a.machuyenbay,
        //                     Ngaygio = a.ngaygio,
        //                     Thoigianbay = a.thoigianbay,
        //                     Soluongh1 = a.soluonggheh1,
        //                     Soluongh2 = a.soluonggheh2,
        //                     Sanbaydi = a.sanbaydi,
        //                     Sanbayden = a.sanbayden,

        //                 }).Distinct<nhanlichchuyenbayETT>();

        //    query = query.Skip(c).Take(LoginDAO.limitList);
        //    return query.ToList<KhachHangDTO>();
        //}

        //Danh sách các nhân viên có mã nhân viên được nhập vào
        public nhanlichchuyenbayETT getByID(string id)
        {
            var querry = (from a in htDataContext.chuyenbays
                          where a.machuyenbay == id
                          select new nhanlichchuyenbayETT
                          {
                              Machuyenbay = a.machuyenbay,
                              Ngaygio = a.ngaygio,
                              Thoigianbay = a.thoigianbay,
                              Soluongh1 = a.soluonggheh1,
                              Soluongh2 = a.soluonggheh2,
                              Sanbaydi = a.sanbaydi,
                              Sanbayden = a.sanbayden,

                          }).Distinct<nhanlichchuyenbayETT>();
            if (querry.Count() == 0)
            {
                return null;
            }
            else
            {
                return querry.Single<nhanlichchuyenbayETT>();
            }
        }

        //Lấy danh sách tất cả các nhân viên có tên được nhập vào
        //public IList<KhachHangDTO> getListKhachHangByName(string name)
        //{
        //    var querry = (from kh in htDataContext.khachhangs
        //                  where kh.tenkhachhang == name
        //                  select new KhachHangDTO
        //                  {
        //                      Makhachhang = kh.makhachhang,
        //                      Tenkhachhang = kh.tenkhachhang,
        //                      Gioitinh = (Boolean)kh.gioitinh,
        //                      CMND_PASSPORT = kh.cmnd_passport,
        //                      Diachi = kh.diachi,
        //                      Coquan = kh.coquan,
        //                      Sodienthoai = kh.sodienthoai,
        //                      Email = kh.email,
        //                  }).Distinct<KhachHangDTO>();
        //    if (querry.Count() == 0)
        //    {
        //        return null;
        //    }
        //    else
        //    {
        //        return querry.ToList<KhachHangDTO>();
        //    }
        //}

        //Danh sách gần đúng các nhân viên có mã nhân viên được nhập vào
        public IList<nhanlichchuyenbayETT> getLikeByID(string id)
        {
            var querry = (from a in htDataContext.chuyenbays
                          where SqlMethods.Like(a.machuyenbay, "%" + id + "%")
                          select new nhanlichchuyenbayETT
                          {
                              Machuyenbay = a.machuyenbay,
                              Ngaygio = a.ngaygio,
                              Thoigianbay = a.thoigianbay,
                              Soluongh1 = a.soluonggheh1,
                              Soluongh2 = a.soluonggheh2,
                              Sanbaydi = a.sanbaydi,
                              Sanbayden = a.sanbayden,
                          }).Distinct<nhanlichchuyenbayETT>();
            if (querry.Count() == 0)
            {
                return null;
            }
            else
            {
                return querry.ToList<nhanlichchuyenbayETT>();
            }
        }

        //Lấy danh sách gần đúng tất cả các nhân viên có tên được nhập vào
        //public IList<KhachHangDTO> getListLikeKhachHangByName(string name)
        //{
        //    var querry = (from kh in htDataContext.khachhangs
        //                  where SqlMethods.Like(kh.tenkhachhang, "%" + name + "%")
        //                  select new KhachHangDTO
        //                  {
        //                      Makhachhang = kh.makhachhang,
        //                      Tenkhachhang = kh.tenkhachhang,
        //                      Gioitinh = (Boolean)kh.gioitinh,
        //                      CMND_PASSPORT = kh.cmnd_passport,
        //                      Diachi = kh.diachi,
        //                      Coquan = kh.coquan,
        //                      Sodienthoai = kh.sodienthoai,
        //                      Email = kh.email,
        //                  }).Distinct<KhachHangDTO>();
        //    if (querry.Count() == 0)
        //    {
        //        return null;
        //    }
        //    else
        //    {
        //        return querry.ToList<KhachHangDTO>();
        //    }
        //}

       
        public void insert(nhanlichchuyenbayETT ETT)
        {
            chuyenbay a = new chuyenbay();
            a.machuyenbay = ETT.Machuyenbay ;
            a.ngaygio = ETT.Ngaygio;
            a.thoigianbay = ETT.Thoigianbay;
            a.soluonggheh1 = (int)ETT.Soluongh1;
            a.soluonggheh2 = (int)ETT.Soluongh2;
            a.sanbaydi = ETT.Sanbaydi;
            a.sanbayden = ETT.Sanbayden;
            htDataContext.chuyenbays.InsertOnSubmit(a);
            htDataContext.SubmitChanges();
        }

      
        public void delete(string ID)
        {
            var querry = (from kh in htDataContext.chuyenbays
                          where kh.machuyenbay == ID
                          select kh).FirstOrDefault<chuyenbay>();
            htDataContext.chuyenbays.DeleteOnSubmit(querry);
            htDataContext.SubmitChanges();
        }

      
        public void update(nhanlichchuyenbayETT ETT)
        {
            var querry = (from kh in htDataContext.chuyenbays
                          where kh.machuyenbay == ETT.Machuyenbay
                          select kh).FirstOrDefault<chuyenbay>();
            querry.machuyenbay = ETT.Machuyenbay;
            querry.ngaygio = ETT.Ngaygio;
            querry.thoigianbay = ETT.Thoigianbay;
            querry.soluonggheh1 = (int)ETT.Soluongh1;
            querry.soluonggheh2 = (int)ETT.Soluongh2;
            querry.sanbaydi = ETT.Sanbaydi;
            querry.sanbayden = ETT.Sanbayden;
            htDataContext.SubmitChanges();
        }

    }
}
